System and method for domain name valuation

ABSTRACT

A method and a computer system for performing the method of determining an initial value or lifetime value for a domain name is provided. The method for determining an initial value includes obtaining, over a communication network, a domain name from requestor; obtaining, over the communication network, one or more inputs from one or more domain name data sources; applying the one or more inputs and the domain name to an initial lifetime worth computer model, wherein the one or more inputs comprise data related to comparable historical domain names, data from a linguistic model analysis, data from a linguistic frequency list, and data related to a second-level domain to top-level domain relationship analysis; determining, by a hardware processor, an initial lifetime worth for the domain name based on the initial lifetime worth computer model; and providing the initial lifetime worth for the domain name to the requestor.

FIELD

This disclosure relates generally to determining a value for a domainname.

BACKGROUND

The domain name system (“DNS”) is a hierarchical distributed namingsystem for resources provided by computer servers that are connected tothe internet. It associates domain names to numeric internet protocol(“IP”) addresses of internet resources, including resources managed byweb hosting providers, which provide the web server computers that servethe web pages associated with domain names. The DNS thus allowscomputers and humans to access networked resources including web pagesusing names.

The DNS uses “resource records”, which are persistently stored,formatted data structures that include information relevant toperforming DNS tasks. For example, IP addresses are specified by DNS “A”or “AAAA” resource records, which include both a domain name and theassociated IP address for the computer server that hosts the domain,i.e., the web hosting provider.

A DNS “registry” is an authoritative, master database of all domainnames registered in a top-level domain or other domain in which domainnames can be registered. A registry includes many hardware computerservers operably coupled to the internet. A registry keeps the masterdatabase and also generates a “zone file” comprising DNS resourcerecords for the top-level domain, which allows computers to look up DNSrecords in the top-level domain from anywhere in the world. Internetusers generally interact with the registry via intermediaries. For easeof discussion, a registry is identified with its hardware computerservers unless otherwise specified or clear from context.

Domain names can be registered by internet users known as “registrants”through many different companies known as “registrars”. Registrarscompete with one another to register domain names for registrants. Thatis, an internet user interacts with a registrar to obtain a domain name,thereby becoming a registrant for the domain. The registrar chosen bythe registrant asks the registrant to provide various contact andtechnical information that makes up the registration. The registrar thenkeeps a record of the contact information and submits the technicalinformation to the registry. For ease of discussion, a registrar isidentified with its hardware computer servers unless otherwise specifiedor clear from context. Further, an internet user has a hardware clientcomputer. For ease of discussion, a registrant is identified with itshardware client computer unless otherwise specified or clear formcontext.

SUMMARY

In accordance with examples of the present disclosure, a method ofdetermining an initial value for a domain name is provided. The methodcomprises obtaining, over a communication network, a domain name fromrequestor; obtaining, over the communication network, one or more inputsfrom one or more domain name data sources; applying the one or moreinputs and the domain name to an initial lifetime worth computer model,wherein the one or more inputs comprise data related to comparablehistorical domain names, data from a linguistic model analysis, datafrom a linguistic frequency list, and data related to a second-leveldomain to top-level domain relationship analysis; determining, by ahardware processor, an initial lifetime worth for the domain name basedon the initial lifetime worth computer model; and providing the initiallifetime worth for the domain name to the requestor.

In some examples, the method can further comprise determining that thedomain name is not currently registered. In some examples, the methodcan further comprise providing an offer to register the domain name. Insome examples, the one or more data sources comprise a DNS server, a DNSregistrar, and an existing domain name database. In some examples, themethod can further comprise applying a weighting factor to a numericalrepresentation of each of the data sources.

In some examples, the initial lifetime worth is determined by:

${f_{initiallifetimeworth}(d)} = {\sum\limits_{i = 0}^{K}{w_{i}a_{i}}}$where

-   -   d: domain name;    -   K: is a number of attributes of that domain based on the one or        more inputs;    -   w_(i): is a weight of a specific attribute with index I; and    -   a_(i): is a numeric representation of an attribute with index i.

In accordance with examples of the present disclosure, a method ofdetermining a lifetime value for a domain name is provided. The methodcomprises obtaining, over a communication network, a domain name fromrequestor; obtaining, over the communication network, one or more inputsfrom one or more domain name data sources; applying the one or moreinputs and the domain name to a lifetime worth computer model, whereinthe one or more inputs comprise data related to registrant information,technical sophistication of a domain hosting infrastructure, web pagecontent structure, technology used, registrant engagement, cost ofownership, traffic associated with the domain name; determining, by ahardware processor, a lifetime worth for the domain name based on thelifetime worth computer model; and providing the lifetime worth for thedomain name to the requestor.

In some examples, the method can further comprise determining that anexpiration period for domain name within a renewal period. In someexamples, the method can further comprise providing an offer to renewthe registration for the domain name. In some examples, the one or moredata sources can comprise a DNS server, a DNS registrar, and an existingdomain name database. In some examples, the method can further compriseapplying a weighting factor to a numerical representation of each of thedata sources.

In some examples, the lifetime worth is determined by:

${f_{lifetimeworth}(d)} = {\sum\limits_{i = 0}^{K}{w_{i}a_{i}}}$where

-   -   d: domain name;    -   K: is a number of attributes of the domain name based on the one        or more inputs;    -   w_(i): is a weight of a specific attribute with index I;    -   a_(i): is a numeric representation of an attribute with index I.

BRIEF DESCRIPTION OF THE DRAWINGS

Various features of the embodiments can be more fully appreciated, asthe same become better understood with reference to the followingdetailed description of the embodiments when considered in connectionwith the accompanying figures, in which:

FIG. 1 shows a system 100 for determining a value for a domain name,according to examples of the present disclosure;

FIG. 2 shows a method for computing initial lifetime worth for a domainname 200, according to examples of the present disclosure;

FIG. 3 shows a method for computing a lifetime worth for a domain name300, according to examples of the present disclosure; and

FIG. 4 illustrates an example of a hardware configuration for a computerdevice 400 that can be used as mobile device or server, which can beused to perform one or more of the processes described above.

DESCRIPTION OF THE EMBODIMENTS

Reference will now be made in detail to example implementations,illustrated in the accompanying drawings. Wherever possible, the samereference numbers will be used throughout the drawings to refer to thesame or like parts. In the following description, reference is made tothe accompanying drawings that form a part thereof, and in which isshown by way of illustration specific exemplary embodiments in which theinvention may be practiced. These embodiments are described insufficient detail to enable those skilled in the art to practice theinvention and it is to be understood that other embodiments may beutilized and that changes may be made without departing from the scopeof the invention. The following description is, therefore, merelyexemplary.

Generally speaking, examples of the present disclosure describe methodsand systems configured to execute the methods for determining themaximum intrinsic value of a domain name. The maximum intrinsic valueincludes both the value prior to registration and continuing to know theintrinsic value after registration. The method includes constructing amodel to compare linguistic structure to existing domain, groupingdomain names into portfolios and purposes, identifying relationshipsbetween the language scripts, and leveraging crawl information includingmetadata and content to assess technical sophistication. The disclosedmethods allow for a means to determine a domain's life time value to anentity, i.e., company, which allows for a better prediction of renewalsand better pricing on domain names within the new TLD's.

FIG. 1 shows a system 100 for determining a value for a domain name,according to examples of the present disclosure. In the system 100, arequestor, such as a registrant 105, submits a request, such as a domainvalidation request 130, to a domain name analyzer 135 to determine avalue for a domain name over a network. In some examples, the domainname analyzer 135 can be provided as a service offered by a registrar110, a registry 115, or by a third party provider. In the example wherethe domain name analyzer 135 is provided by the registry 115, theregistrar 110 can communicate the request and can receive the responseusing a low latency provisioning protocol that enables near real timequerying of the cost and availability of registration of the domainname. The registry 115 can check the availability of a domain name bysubmitting a request to an availability checker 120. In one example, theprovisioning protocol can be the extensible provisioning protocol (EPP)as defined in RFC 5730. In the example where the domain name analyzer135 is provided by a third party provider, the request and answer can beprovided through an API 125. Non-EPP registrar requests may allow theregistrar 110 to offer better real-time suggestions to the registrant105. The provisioning protocol or the API can provide responses thatmeet or exceed a predefined service level agreement, such as responsesanswered under 100 ms or under 50 ms. In some examples, the registrant105 and/or the registrar 110 can also specify additional informationsuch as customer portfolio information type or size information that isnot currently provided in an EPP request.

The domain name analyzer 135 can comprise input processing modules 140including a domain name comparator 145, a domain name grouper 150, acrawler content analyzer 155, a language relationship analyzer 160, anda domain name generator 180. The input processing modules 140 cancontinuously or on a scheduled basis provide valuations for domainnames. The outputs of the processing modules 140 are provided to avaluation calculator 165, which is described below with reference toEquations 1 and 2, which is then populated/updated into a cache 170. Thecache 170 can store valuation information or valuation range informationfor domains analyzed by the input processing modules 140. By using thisvaluation process, a number of domains can be valued and stored in thecache 170 and ready to be provided to a requestor in near real timewithout having to perform the valuation for each received request. Theanalyzed domains can be provided with one or more flags, which canindicate that additional documentation is required, additional technicalrestrictions may be relevant, additional contractual restrictions may berelevant, usage suggestions, or suggested categories and services forthe domain. The domain name analyzer 135 can communicate with one ormore data sources 175, which can include information related to news,known domain name patterns, expiring domains, DNS requests, DNS trafficdata, previous domain name valuation requests, and other related datasources. The domain name analyzer 135 can communicate with theregistrant 105, the registrar 110, or the registry 115 over a network.

For ease of discussion, the registrar 110 and the registry 115 areidentified with its hardware computer servers unless otherwise specifiedor clear from context. The registry 115 can be one or more DNSregistries that can provide authoritative answers to one or moretop-level domains. In some examples, the domain name analyzer 135 can bepart of a service offered by and/or component of the registrar 110 orthe registry 115. Further, an internet user has a hardware clientcomputer. For ease of discussion, a requestor (e.g., registrant 105) isidentified with the internet user's hardware client computer unlessotherwise specified or clear form context.

In operation, the registrant 105 submits a query to the domain nameanalyzer 135 to determine a value for the domain name “example.com.” Thedomain name analyzer 135 obtains the query and then can immediatelyreturn the valuation if it is in the cache. If it is not in the cache, adefault value will be returned indicating that the value for a domain isnot currently available.

The value of the domain name can be determined using the inputprocessing modules 140, e.g., the domain name comparator 145, the domainname grouper 150, the crawler content analyzer 155, and the languagerelationship analyzer 160. The domain name analyzer 135 can also queryone or more data sources, e.g., the data source(s) 115, the registrar110, the registry 115, to request additional information that can beused in determining the value of the domain name. The domain nameanalyzer 135 can compute continuously or in a scheduled manner a valueor value range for a number of domain names, which can then be providedto the cache 170. Responses to requestors can be then provided in a nearreal-time manner, such as within a time frame defined by a service levelagreement parameter for a provisioning protocol (i.e., less than 100 msor less than 50 ms). If a value or value range for a particular domainis not found in the cache 170, a response can be returned indicting thata value is not found or a default value can be provided. In someexamples, slower than the near real-time response or offline evaluationcan be performed. In this example, a domain can be submitted and itsvalue can be computed offline by the domain name analyzer 135 and itsvalue can then be provided to the requestor.

The domain name comparator 145 can compare the domain name beinganalyzed with other registered or previously registered similar typedomain names. The domain name grouper 150 can compare the domain namebeing analyzed with other groups of registered or previously registeredsimilar type domain names. The crawler content analyzer 155 can performa web crawl to a plurality of on-line resources, i.e., current and/orarchived web pages, to determine a number of occurrences and theircontext of the domain name being analyzed. The language relationshipanalyzer 160 can perform language-related services, including but arenot limited to, translation, transliteration, graphene/phoneme analysis,logogram analysis, e.g., Chinese/Japanese/Korean, etc. conversion toUnicode, etc.

The domain name generator 180 can communicate with the data source(s)175 to generate a set of likely requested domain names that can beevaluated by the domain name analyzer 135 to compute values or range ofvalues. For example, the domain name generator 180 can analyze data fromthe variety of sources in the data source(s) 175 to create differentcombinations of characters and/or strings to produce domain names. Inone example, if a particular trending topic if found in a data source,such a natural disaster, domain names that combine the location of thedisaster and the nature of the disaster in various combinations can beproduced and values of those domain names can be computed and providedto the cache 170.

In some examples, the domain name analyzer 135 can pre-calculate thevalues for domain names that can be identified as most likely to bequeried by a requestor. Example sources for such domains where valuescan be pre-calculated include expiring domains, domains created frompopular keywords (e.g., all dictionary term domain names), domains of acertain length (e.g., all possible domains of length 1-4), domains thatmatch known popular patterns like <Adjective><Noun> (e.g.,indoorfishpond.com), domains with high DNS traffic, domains consistingof proper names gathered via crawling, etc. Updates can occur inreal-time, as domains are considered or re-considered based on incomingdata (e.g., news, social media feeds, popular hash tags). Similarly, fordomains that are queried for that are not found in the cache, values canbe computed offline later and stored it in the cache for the next timeit is queried.

In some examples, the cache 170 can be updated for all valuesperiodically. In some examples, the cache 170 can be incrementallyupdated where the values are updated for domains most frequentlyrequested most often from the API 125, domains receiving the most DNStraffic, domains whose keywords are highly occurring in some externaldata (e.g., news), etc. In some examples, the cache 170 can be updatedincrementally based on major changes in data sources used as input tothe input processing module (e.g., for updating domains whose DNStraffic has gone up significantly since the last value computation).

FIG. 2 shows a method for computing initial lifetime worth for a domainname 200, according to examples of the present disclosure. The methodbegins by obtaining or creating an initial lifetime worth model 105. Forexample, the registrant 105 wishing to compute an initial lifetime valuefor a domain name may operate a client computer and activate a URLcontaining a domain name for a service provider, e.g., the domain nameanalyzer 135, that computes values for domain names. One example of aservice provider is the registrar 110 where the user enters the URL,e.g., http://www.registrar.com, for the registrar 110 by entering itinto the navigation field of a web browser executing on the clientcomputer or by clicking on a link for the URL as it is displayed in thebrowser on a webpage or other internet resource. The registrar 110 canprovide an interface with which the user can entered a domain name to beanalyzed.

The initial lifetime worth model is based on a variety of inputs whichcan be processed using the one or more sub components, e.g., the domainname comparator 145, the domain name grouper 150, the crawler contentanalyzer 155, and the language relationship analyzer 160. For example,the inputs can include, but are not limited to, the following.

The inputs can include comparable historical domains (e.g., domainsregistered through the same registrar, domains registered by the sameregistrant, domains which share keywords in common with a domain,domains of the same length).

The inputs can include linguistic model analysis (e.g., domainsregistered through the same registrar, domains registered by the sameregistrant, domains which share keywords in common with a domain,domains of the same length).

The inputs can include linguistic frequency lists (e.g., how often thedomain name leftmost label appears in a public corpus like Wikipedia,how often the domain name excluding the TLD appears in web content froma crawl of the Internet).

The inputs can include second-level domain leftmost label to top-leveldomain relationship. TLD's often have an associated semantic meaningassociated with them. For example, the TLD “.VERISIGN” is semanticallyassociated with the company Verisign and its business. Because Verisignis in the domain name industry, domain names in .VERISIGN associatedwith the domain name industry (e.g., domain.VERISIGN,registrars.VERISIGN) are likely to have a higher lifetime value because“domain” and “registrars” are associated with the company Verisign.Inversely, the domain names not directly associated with Verisign (e.g.,clockrepair.VERISIGN, textiles.VERISIGN) and are likely to havecomparatively lower lifetime values. A measure how related a secondlevel domain is to the top level domain can be used by looking at howlikely both are seen in published text. For example, for“domain.VERISIGN” can be measured as how many documents in somecollection of documents (e.g., Wikipedia articles, individual web pagesfrom web crawling) contain the words “domain” and “VERISIGN”.

The domain name can be represented as a string of character and thestring of characters can be divided into one or more subsets of stringsthat can be analyzed. The one or more subsets of string can be dividedbased on, but are not limited to the following: the number of distinctkeywords found in the subset, whether the keywords are found in adictionary including the number of keywords found, a length of eachsubset and whether numerals are found in the subset including the numberof numerals found. Each subset can be compared against a corpus ofregistered and/or previously registered domain names, e.g. the datasource(s) 175. If one or more of the subset is the same or similar tothe registered and/or previously registered domain names found in thecorpus, a higher value can be assigned to each subset than would beassigned if no match is found in the corpus. Each subset can also beanalyzed using a linguistic model analysis where the part of speech(such as noun, plural noun, verb, adjective, etc., possibly consideringif the domain is a one word domain) and/or the relationship of vowelsand consonants can be analyzed. Each subset can also be analyzed using alinguistic frequency lists. Each subset can also be analyzed using asecond-level domain to top-level domain relationship.

At 210, a domain name to be evaluated for its initial lifetime worth isobtained. One way to compute the initial lifetime worth is a weightedlinear combination of the attribute values of the specific domain tiedto gathered input regarding comparable domains, linguistic analysis,linguistic frequency, etc.

The initial lifetime worth (d) can be determined according to the belowequation

$\begin{matrix}{{f_{initiallifetimeworth}(d)} = {\sum\limits_{i = 0}^{K}{w_{i}a_{i}}}} & (1)\end{matrix}$where d: domain name, K: is the number of attributes of that domainbased on the gathered input (i.e., If, after research, 4 attributes areused, K=3 to support attributes a₀, a₁, a₂, a₃), w_(i): is the weight ofa specific attribute with index i (The value of the weights can be anynumeric value. The values can be set manually, i.e., can be set it to avalue based on a subject matter expert's opinion of what it should be orcan be set by trying to learn it from labeled data using standardmachine learning techniques such as linear regression. The range of thisvalue will depend on what the value of the attribute this weight is usedwith, as well as what the subject matter expert or machine learningalgorithm chooses to use), a_(i): is the numeric representation of anattribute with index i (The attribute value is defined by what the valueis for a particular domain name. For example, if the attribute value isthe full length of a domain name, a domain like verisign.com would havea value of 8 since “verisign.com” is a 12 character string. If theattribute value of a domain indicates how often the label of a domainname appears in a document collection (e.g., Wikipedia articles), adomain like “verisign.com” may have the value of 4,400 because it isfound that the label “verisign” appeared 4,400 times in that documentcollection. The range of this value will depend on what the value is).

Examples of a_(i) include a₀: Length of domain name, a₁: Average numberof years domains from the same registrar as d are renewed, a₂: Number ofappearance of the SLD in a text corpus, . . . , a_(K): Numeric score torepresent the “pronounceability” of the second-level domain (SLD) name.The weights (w₀, w₁, . . . , w_(K)) can be manually or automatically setbased on historical domain registration data.

At 215, a value representative of the initial lifetime worth of thedomain name is outputted. In some example, the domain name analyzer 135,in conjunction with the registrar 110 and/or registry 115, can determinewhether the domain name is currently registered, for example using theavailability checker 120. If the domain name is available to beregistered, the domain name analyzer 135 can provide an offer toregister the domain name. If the domain name analyzer 135 is separatefrom the registrar 110, the domain name analyzer 135 can provide a linkor a redirection to the registrar 110 or another DNS registrar where theregistrant 105 may register the domain name using known domain nameregistration procedures.

Below is an example of an initial lifetime worth valuation for“verisign.com” based on the criteria discussed above. The initiallifetime worth (d) for verisign.com can be determined by

${f_{initiallifetimeworth}(d)} = {\sum\limits_{i = 0}^{K}{w_{i}a_{i}}}$where d: verisign.com. K=3 corresponding to attributes: a₀, a₁, a₂, a₃.a₀ corresponds to the length of domain name. For this example, this isdefined as the string length of the full string “verisign.com” which is12. a₁ corresponds to the average number of years domains from the sameregistrar as d are renewed. This can be computed from information basedon archival registration and renewal records for registrars. For thisexample, it will be assumed that the value of this for “verisign.com”registrar is 10. a₂ corresponds to the number of appearances of the SLDleftmost label in a text corpus. This value can be computed by lookingat the number of times a domain name appears in a text corpus likeWikipedia articles, raw HTML content from crawling the Internet,newspaper articles, etc. For this example, it is assumed it is thenumber of Wikipedia articles that contain the second level domain label“verisign” and assume it appears 4,400 times. a₃ corresponds to anumeric score to represent the “pronounceability” of the domain name. Insome examples, pronounceability can be determined as described in U.S.Pat. No. 9,218,334 titled “Pronounceable Domain Names,” which iscommonly owned by the present applicant and is hereby incorporated byreference in its entirety. As described in this US patent,pronounceability can be determined based on phonetic model and/or acharacter order model. The phonetic model can be built by preparing alibrary of source words comprising pronounceable words andnon-pronounceable words and providing the library of source words to alearning model algorithm, i.e., a Bayesian network, to train thelearning model algorithm to determine characteristics of pronounceableand characteristics of non-pronounceable words. The character ordermodel can be built by preparing a library of source words comprisingpronounceable and non-pronounceable words and associating attributes ofpronounceable source words and attributes of non-pronounceable sourcewords with words in the library of source words. Attributes of thepronounceable word and non-pronounceable words can include, but are notlimited to, a n-gram score. For this example, it is assumed thatpreviously defined algorithm has assigned “verisign.com” a score of 8.Weights (w₀, w₁, w₂, w₃) can be manually or automatically set based onhistorical domain registration data. In this example, a weight ismanually assigned based as follows: w₀: −10, 20, w₁: 20, w₂: 0.05, w₃:200.

Therefore, based on the above,

${f_{initiallifetimeworth}\left( {{verisign}.{com}} \right)} = {{\sum\limits_{i = 0}^{K = 3}{w_{i}a_{i}}} = {{{w_{0}a_{0}} + {w_{1}a_{1}} + {w_{2}a_{2}} + {w_{3}a_{3}}} = {{\left( {{- 1}0 \times 12} \right) + \left( {20 \times 10} \right) + \left( {{0.0}5 \times 4400} \right) + \left( {200 \times 8} \right)} = {{{- 120} + 200 + 220 + 800} = {110{0.}}}}}}$

In some examples, the initial lifetime value of a domain name may beoutput in a variety of ways. According to some embodiments, the initiallifetime value of a domain name is output by being displayed on acomputer monitor. According to some embodiments, the initial lifetimevalue of a domain name is output by being emailed to a selected emailaddress. According to some embodiments, the initial lifetime value of adomain name is output by presenting them to a user for registration.Such embodiments may be implemented by, or in coordination with aregistrar or registry, which can implement the registration process.Such embodiments may present the user with a graphical user interface bywhich the user may select the domain name and register it using the sameinterface. The registration may be accomplished using standard domainname registration techniques.

FIG. 3 shows a method for computing a lifetime worth for a domain name300, according to examples of the present disclosure. The method beginsby obtaining or creating a lifetime worth model 305. The lifetime worthmodel 305 is based on a variety of inputs. For example, the inputs caninclude, but are not limited to, registrant information; technicalsophistication of domain hosting infrastructure, web page contentstructure used technologies, etc.; registrant engagement; cost ofownership; traffic; external references; other inputs.

At 310, a domain name to be evaluated for its lifetime worth isobtained. One way to compute the lifetime worth is a weighted linearcombination in a similar fashion as the initial lifetime worth but withadditional attribute values of the specific domain tied gathered inputregarding to domain name usage, DNS activity, etc. The lifetime worth(d) can be determined based on the following:

$\begin{matrix}{{f_{lifetimeworth}(d)} = {\sum\limits_{i = 0}^{K}{w_{i}a_{i}}}} & (2)\end{matrix}$where d corresponds to a domain name, K corresponds to the number ofattributes of that domain based on the gathered input, w_(i) correspondsto the weight of a specific attribute with index i, and a_(i)corresponds to the numeric representation of an attribute with index i.

Examples of a_(i) include: a₀: number of domains owned by the registrantof d, a₁: numeric score representing the level of technology used indeveloping and running the associated web content, a₂: Number of timesthe web content of a domain changed in the first 30 days, . . . , a_(K):Number of DNS queries to domain d in the first 30 days. Weights (w₀, w₁,. . . , w_(K)) can be manually or automatically set based on historicaldomain registration data.

At 315, a value representative of the lifetime worth of the domain nameis outputted. In some example, the domain name analyzer 135, inconjunction with the registrar 110 and/or the registry 115, candetermine whether the domain name is currently available to be renewed.If the domain name is available to be renewed, the domain name analyzer135 can provide an offer to renew the registration of the domain name.If the domain name analyzer 135 is separate from the registrar 110, thedomain name analyzer 135 can provide a link or a redirection to theregistrar 110 or another DNS registrar where the registrant 105 mayrenew the registration of the domain name using known domain nameregistration renewal procedures.

Below is an example of a lifetime worth valuation for “verisign.com”based on the following:

${f_{lifetimeworth}(d)} = {\sum\limits_{i = 0}^{K}{w_{i}a_{i}}}$where d: verisign.com and K=3 corresponding to attributes: a₀, a₁, a₂,a₃. a₀ corresponds to the number of domains owned by the registrant ofd. For this example, it is assumed that the owners of “verisign.com” own100 domains, so a₀=100. a₁ corresponds to the numeric score representingthe level of technology used in developing and running the associatedweb content. For this example, “verisign.com” will be assigned atechnology usage value of 10, so a₁=10. a₂ corresponds to the number oftimes the web content of a domain changed in the first 30 days. For thisexample, “verisign.com” was changed only once during the first 30 days,so a₂=1. a₃ corresponds to the number of DNS queries to domain d in thefirst 30 days. For this example, it is assumed that 500,000 DNS querieswere made for “verisign.com” during the first 30 days, so a₃=500000.Weights (w₀, w₁, w₂, w₃) can be manually or automatically set based onhistorical domain registration data. In this example, weights aremanually assigned based as follows: w₀: 50, w₁: 25, w₂: −200, and w₃:0.001. Therefore the lifetime value can be determined as

${f_{lifetimeworth}\left( {{verisign}.{com}} \right)} = {{\sum\limits_{i = 0}^{K = 3}{w_{i}a_{i}}} = {{{w_{0}a_{0}} + {w_{1}a_{1}} + {w_{2}a_{2}} + {w_{3}a_{3}}} = {{\left( {50 \times 100} \right) + \left( {25 \times 10} \right) + \left( {{- 200} \times 1} \right) + \left( {0.001 \times 500000} \right)} = {{5000 + 250 + {- 200} + 500} = 5500.}}}}$

In some examples, the lifetime value of a domain name may be output in avariety of ways. According to some embodiments, the lifetime value of adomain name is output by being displayed on a computer monitor.According to some embodiments, the lifetime value of a domain name isoutput by being emailed to a selected email address. According to someembodiments, the lifetime value of a domain name is output by presentingthem to a user for registration or renewal. Such embodiments may beimplemented by, or in coordination with a registrar or registry, whichcan implement the registration or renewal process. Such embodiments maypresent the user with a graphical user interface by which the user mayselect the domain name and register or renew it using the sameinterface. The registration or renewal may be accomplished usingstandard domain name registration or renewal techniques.

By using the above-described features, a registry and/or registrar maysee an increase in the registration or renewal rates by increasing orreducing prices for domains depending on predicted initial and overalllifetime value. For example, pricing for domains with a high lifetimevalue can be increased with the expectation that such domains are goingto be in high demand and will be purchased even at the higher price.Inversely, a registry or registrar may want to decrease renewal pricingfor domains with low lifetime value with the goal of encouragingregistrants to retain their domains.

FIG. 4 illustrates an example of a hardware configuration for a computerdevice 400 that can be used as mobile device or server, which can beused to perform one or more of the processes described above. While FIG.4 illustrates various components contained in the computer device 400,FIG. 4 illustrates one example of a computer device and additionalcomponents can be added and existing components can be removed.

The computer device 400 can be any type of computer devices, such asdesktops, laptops, servers, DNS servers (e.g., the registry 115, theregistrar 110, the registrant 105), the domain name analyzer 135, etc.,or mobile devices, such as smart telephones, tablet computers, cellulartelephones, personal digital assistants, etc. As illustrated in FIG. 4 ,the computer device 400 can include one or more processors 402 ofvarying core configurations and clock frequencies. The computer device400 can also include one or more memory devices 404 that serve as a mainmemory during the operation of the computer device 400. For example,during operation, a copy of the software that supports the DNSoperations can be stored in the one or more memory devices 404. Thecomputer device 400 can also include one or more peripheral interfaces406, such as keyboards, mice, touchpads, computer screens, touchscreens,etc., for enabling human interaction with and manipulation of thecomputer device 400.

The computer device 400 can also include one or more network interfaces408 for communicating via one or more networks, such as Ethernetadapters, wireless transceivers, or serial network components, forcommunicating over wired or wireless media using protocols. The computerdevice 400 can also include one or more storage device 410 of varyingphysical dimensions and storage capacities, such as flash drives, harddrives, random access memory, etc., for storing data, such as images,files, and program instructions for execution by the one or moreprocessors 402.

Additionally, the computer device 400 can include one or more softwareprograms 412 that enable the functionality described above. The one ormore software programs 412 can include instructions that cause the oneor more processors 402 to perform the processes described herein. Copiesof the one or more software programs 412 can be stored in the one ormore memory devices 404 and/or on in the one or more storage devices410. Likewise, the data used by one or more software programs 412 can bestored in the one or more memory devices 404 and/or on in the one ormore storage devices 410.

In implementations, the computer device 400 can communicate with otherdevices via a network 416. The other devices can be any types of devicesas described above. The network 416 can be any type of electronicnetwork, such as a local area network, a wide-area network, a virtualprivate network, the Internet, an intranet, an extranet, a publicswitched telephone network, an infrared network, a wireless network, andany combination thereof. The network 416 can support communicationsusing any of a variety of commercially-available protocols, such asTCP/IP, UDP, OSI, FTP, UPnP, NFS, CIFS, AppleTalk, and the like. Thenetwork 416 can be, for example, a local area network, a wide-areanetwork, a virtual private network, the Internet, an intranet, anextranet, a public switched telephone network, an infrared network, awireless network, and any combination thereof.

The computer device 400 can include a variety of data stores and othermemory and storage media as discussed above. These can reside in avariety of locations, such as on a storage medium local to (and/orresident in) one or more of the computers or remote from any or all ofthe computers across the network. In some implementations, informationcan reside in a storage-area network (“SAN”) familiar to those skilledin the art. Similarly, any necessary files for performing the functionsattributed to the computers, servers, or other network devices may bestored locally and/or remotely, as appropriate.

In implementations, the components of the computer device 400 asdescribed above need not be enclosed within a single enclosure or evenlocated in close proximity to one another. Those skilled in the art willappreciate that the above-described componentry are examples only, asthe computer device 400 can include any type of hardware componentry,including any necessary accompanying firmware or software, forperforming the disclosed implementations. The computer device 400 canalso be implemented in part or in whole by electronic circuit componentsor processors, such as application-specific integrated circuits (ASICs)or field-programmable gate arrays (FPGAs).

If implemented in software, the functions can be stored on ortransmitted over a computer-readable medium as one or more instructionsor code. Computer-readable media includes both tangible, non-transitorycomputer storage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another. Astorage media can be any available tangible, non-transitory media thatcan be accessed by a computer. By way of example, and not limitation,such tangible, non-transitory computer-readable media can comprise RAM,ROM, flash memory, EEPROM, CD-ROM or other optical disk storage,magnetic disk storage or other magnetic storage devices, or any othermedium that can be used to carry or store desired program code in theform of instructions or data structures and that can be accessed by acomputer. Disk and disc, as used herein, includes CD, laser disc,optical disc, DVD, floppy disk and Blu-ray disc where disks usuallyreproduce data magnetically, while discs reproduce data optically withlasers. Also, any connection is properly termed a computer-readablemedium. For example, if the software is transmitted from a website,server, or other remote source using a coaxial cable, fiber optic cable,twisted pair, digital subscriber line (DSL), or wireless technologiessuch as infrared, radio, and microwave, then the coaxial cable, fiberoptic cable, twisted pair, DSL, or wireless technologies such asinfrared, radio, and microwave are included in the definition of medium.Combinations of the above should also be included within the scope ofcomputer-readable media.

The foregoing description is illustrative, and variations inconfiguration and implementation can occur to persons skilled in theart. For instance, the various illustrative logics, logical blocks,modules, and circuits described in connection with the embodimentsdisclosed herein can be implemented or performed with a general purposeprocessor, a digital signal processor (DSP), an application specificintegrated circuit (ASIC), a field programmable gate array (FPGA) orother programmable logic device, discrete gate or transistor logic,discrete hardware components, or any combination thereof designed toperform the functions described herein. A general-purpose processor canbe a microprocessor, but, in the alternative, the processor can be anyconventional processor, controller, microcontroller, or state machine. Aprocessor can also be implemented as a combination of computing devices,e.g., a combination of a DSP and a microprocessor, a plurality ofmicroprocessors, one or more microprocessors in conjunction with a DSPcore, or any other such configuration.

In one or more exemplary embodiments, the functions described can beimplemented in hardware, software, firmware, or any combination thereof.For a software implementation, the techniques described herein can beimplemented with modules (e.g., procedures, functions, subprograms,programs, routines, subroutines, modules, software packages, classes,and so on) that perform the functions described herein. A module can becoupled to another module or a hardware circuit by passing and/orreceiving information, data, arguments, parameters, or memory contents.Information, arguments, parameters, data, or the like can be passed,forwarded, or transmitted using any suitable means including memorysharing, message passing, token passing, network transmission, and thelike. The software codes can be stored in memory units and executed byprocessors. The memory unit can be implemented within the processor orexternal to the processor, in which case it can be communicativelycoupled to the processor via various means as is known in the art.

While the teachings have been described with reference to examples ofthe implementations thereof, those skilled in the art will be able tomake various modifications to the described implementations withoutdeparting from the true spirit and scope. The terms and descriptionsused herein are set forth by way of illustration only and are not meantas limitations. In particular, although the processes have beendescribed by examples, the stages of the processes can be performed in adifferent order than illustrated or simultaneously. Furthermore, to theextent that the terms “including”, “includes”, “having”, “has”, “with”,or variants thereof are used in the detailed description, such terms areintended to be inclusive in a manner similar to the term “comprising.”As used herein, the terms “one or more of” and “at least one of” withrespect to a listing of items such as, for example, A and B, means Aalone, B alone, or A and B. Further, unless specified otherwise, theterm “set” should be interpreted as “one or more.” Also, the term“couple” or “couples” is intended to mean either an indirect or directconnection. Thus, if a first device couples to a second device, thatconnection can be through a direct connection, or through an indirectconnection via other devices, components, and connections.

Those skilled in the art will be able to make various modifications tothe described embodiments without departing from the true spirit andscope. The terms and descriptions used herein are set forth by way ofillustration only and are not meant as limitations. In particular,although the method has been described by examples, the steps of themethod can be performed in a different order than illustrated orsimultaneously. Those skilled in the art will recognize that these andother variations are possible within the spirit and scope as defined inthe following claims and their equivalents.

The foregoing description of the disclosure, along with its associatedembodiments, has been presented for purposes of illustration only. It isnot exhaustive and does not limit the disclosure to the precise formdisclosed. Those skilled in the art will appreciate from the foregoingdescription that modifications and variations are possible in light ofthe above teachings or may be acquired from practicing the disclosure.For example, the steps described need not be performed in the samesequence discussed or with the same degree of separation. Likewisevarious steps may be omitted, repeated, or combined, as necessary, toachieve the same or similar objectives. Similarly, the systems describedneed not necessarily include all parts described in the embodiments, andmay also include other parts not describe in the embodiments.

Accordingly, the disclosure is not limited to the above-describedembodiments, but instead is defined by the appended claims in light oftheir full scope of equivalents.

What is claimed is:
 1. A method of determining an initial value for adomain name, the method comprising: identifying, based on data from oneor more data sources, a keyword; generating a list of domain names basedon the keyword, wherein domain names of the list of domain names eachcorrespond to a combination of the keyword with another word or otheridentified keyword; obtaining, over a communication network, one or moreinputs from one or more domain name data sources, wherein the one ormore inputs comprise data related to comparable historical domain names,data from a linguistic model analysis, data from a linguistic frequencylist, data related to a second-level domain to top-level domainrelationship analysis, or a combination thereof; applying the one ormore inputs and the domain names of the list of domain names to aninitial lifetime worth computer model, wherein the initial lifetimeworth computer model comprises one or more attributes; determining, by ahardware processor, and based on the initial lifetime worth computermodel, an initial lifetime worth for each domain name of the list ofdomain names, wherein the initial lifetime worth computer model isconfigured to apply individual weighting to the one or more attributesto determine the initial lifetime worth for each domain name of the listof domain names; storing, in a memory, the initial lifetime worth foreach of the domain names of the list of domain names; obtaining, overthe communication network and from a requestor, a first query, whereinthe first query includes a first domain name; in response to the firstquery: accessing the domain names of the list of domain names; comparingthe first domain name with the domain names of the list of domain names,and based on the comparing, identifying the initial lifetime worth ofthe first domain name; providing the identified initial lifetime worthfor the first domain name to the requestor; updating, based on a changeto the one or more inputs, the initial lifetime worth for the firstdomain name; storing the updated initial lifetime worth for the firstdomain name in the memory; and in response to a second query thatincludes the first domain name, retrieving the updated initial lifetimeworth for the first domain name from the memory and providing theupdated initial lifetime worth for the first domain name to therequestor or to a different requestor without determining a new initiallifetime worth for the first domain name.
 2. The method of claim 1,further comprising providing an offer to register the first domain name.3. The method of claim 1, wherein the one or more domain name datasources comprise one or more of: a DNS server, a DNS registrar, and/oran existing domain name database.
 4. The method of claim 1, furthercomprising applying a weighting factor to a numerical representation ofeach of the domain name data sources.
 5. The method of claim 1, whereinthe initial lifetime worth is determined by:${f_{initiallifetimeworth}(d)} = {\sum\limits_{i = 0}^{K}{w_{i}a_{i}}}$where d: domain name; K: is a number of the one or more attributes ofthat domain based on the one or more inputs; w_(i): is a weight of anattribute from the one or more attributes with index i; and a_(i): is anumeric representation of the attribute from the one or more attributeswith index i.
 6. The method of claim 1, further comprising updating theinitial lifetime worth for the first domain name on a scheduled basis.7. The method of claim 1, further comprising updating the initiallifetime worth for the first domain name periodically.
 8. The method ofclaim 1, wherein identifying the keyword comprises: identifying aplurality of keywords based on data from the one or more data sources,wherein the data includes data representing a pattern, an expiringdomain name, a DNS request, a DNS traffic data, and/or a previous domainname valuation request.
 9. A computer system comprising: one or moreelectronic processors; a memory; a non-transitory computer readablemedium storing instructions that when executed by the one or moreelectronic processors executes a method of determining an initial valuefor a domain name, the method comprising: identifying, based on datafrom one or more data sources, a keyword; generating a list of domainnames based on the keyword, wherein domain names of the list of domainnames each correspond to a combination of the keyword with another wordor other identified keyword; obtaining, over a communication network,one or more inputs from one or more domain name data sources, whereinthe one or more inputs comprise data related to comparable historicaldomain names, data from a linguistic model analysis, data from alinguistic frequency list, data related to a second-level domain totop-level domain relationship analysis, or a combination thereof;applying the one or more inputs and the domain names of the list ofdomain names to an initial lifetime worth computer model, wherein theinitial lifetime worth computer model comprises one or more attributes;determining, based on the initial lifetime worth computer model, aninitial lifetime worth for each domain name of the list of domain names,wherein the initial lifetime worth computer model is configured to applyindividual weighting to the one or more attributes to determine theinitial lifetime worth for each domain name of the list of domain names;storing, in a memory, the initial lifetime worth for each of the domainnames of the list of domain names; obtaining, over the communicationnetwork and from a requestor, a first query, wherein the first queryincludes a first domain name; in response to the first query: accessingthe domain names of the list of domain names, comparing the first domainname with the domain names of the list of domain names, and based on thecomparing, identifying the initial lifetime worth of the first domainname; providing the identified initial lifetime worth for the firstdomain name to the requestor; updating, based on a change to the one ormore inputs, the initial lifetime worth for the first domain name;storing the updated initial lifetime worth for the first domain name inthe memory; and in response to a second query that includes the firstdomain name, retrieving the updated initial lifetime worth for the firstdomain name from the memory and providing the updated initial lifetimeworth for the first domain name to the requestor or to a differentrequestor without determining a new initial lifetime worth for the firstdomain name.
 10. The computer system of claim 9, wherein the one or moreelectronic processors are further operable to perform the methodcomprising determining that the first domain name is not currentlyregistered.
 11. The computer system of claim 10, wherein the one or moreelectronic processors are further operable to perform the methodcomprising providing an offer to register the first domain name.
 12. Thecomputer system of claim 9, wherein the one or more domain name datasources comprise one or more of: a DNS server, a DNS registrar, and/oran existing domain name database.
 13. The computer system of claim 9,wherein the one or more electronic processors are further operable toperform the method comprising applying a weighting factor to a numericalrepresentation of each of the domain name data sources.
 14. The computersystem of claim 9, wherein the initial lifetime worth is determined by:${f_{initiallifetimeworth}(d)} = {\sum\limits_{i = 0}^{K}{w_{i}a_{i}}}$where d: domain name; K: is a number of the one or more attributes ofthat domain based on the one or more inputs; w_(i): is a weight of anattribute of the one or more attributes with index i; and a_(i): is anumeric representation of the attribute of the one or more attributeswith index i.
 15. The computer system of claim 9, wherein the one ormore electronic processors are further operable to perform the methodcomprising updating the initial lifetime worth for the first domain nameon a scheduled basis.
 16. The computer system of claim 9, wherein theone or more electronic processors are further operable to perform themethod comprising updating the initial lifetime worth for the firstdomain name periodically.
 17. The computer system of claim 9, whereinidentifying the keyword comprises: identifying a plurality of keywordsbased on data from the one or more data sources, wherein the dataincludes data representing a pattern, an expiring domain name, a DNSrequest, a DNS traffic data, and/or a previous domain name valuationrequest.